#include <iostream>
using namespace std;
long Divide(long long arr[], long p, long r)
{
    long long x = arr[r - 1];
    long i = p - 1;
    for (int j = p; j < r - 1; j++)
    {
        if (arr[j] < x)
        {
            i++;
            swap(arr[j], arr[i]);
        }
    }
    swap(arr[i + 1], arr[r - 1]);
    return i + 1;
}
void QuickSort(long long arr[], long p, long r)
{
    if (p < r)
    {
        long q = Divide(arr, p, r);
        QuickSort(arr, p, q);
        QuickSort(arr, q + 1, r);
    }
}
int main()
{
    long n = 0;
    cin >> n;
    long long *a = new long long[n];
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    QuickSort(a, 0, n);
    for (int i = 0; i < n; i++)
    {
        cout << a[i] << " ";
    }
    delete[] a;
    return 0;
}